home *** CD-ROM | disk | FTP | other *** search
/ AmigActive 10 / AACD 10.iso / AACD / Information / WebSites / Imagine / arexx / mpwp.lha / MakePathWithPts.irx
Text File  |  1997-04-12  |  3KB  |  114 lines

  1. /*==============================================================================
  2.  
  3.     $VER: MakePathWithPts.irx 0.1 (20.01.97)
  4.     ©     : NasGûl
  5.                 nasgul@faws.org
  6.     Auteur: André Capus
  7.     Usage : Interne Imagine
  8.  
  9.     Commandes AmigaDos:
  10.     Libraries Arexx:
  11.     Commentaires:
  12.  
  13.  
  14.                      ©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©
  15.                      ©       ©©     ©©  ©©©©  ©©     ©©
  16.                      ©  ©©©©©©  ©©©  ©  ©  ©  ©  ©©©©©©
  17.                      ©     ©©©       ©  ©  ©  ©©     ©©
  18.                      ©  ©©©©©©  ©©©  ©        ©©©©©©  ©
  19.                      ©  ©©©©©©  ©©©  ©©  ©©  ©©©     ©©
  20.                      ©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©
  21.  
  22.                          (French Amiga Web Server)
  23.  
  24.                                nasgul@faws.org
  25.                              http://www.faws.org
  26.  
  27. ==============================================================================*/
  28.  
  29. options results
  30.  
  31. /*=== imagine public screen name ===*/
  32. psname=GetEnv(IMAGINE_PSNAME)
  33.  
  34. /*=== talk to Imagine ===*/
  35. Address 'Imagine.1'
  36. 'DISPLAYREXXPTR ON'
  37.  
  38. 'GETMULTIPICKLIST'
  39.  
  40. nbrspts=MULTIPICK_NUM
  41.  
  42. DO i=1 TO MULTIPICK_NUM
  43.     numpts.i=MULTIPICK.i
  44. END
  45.  
  46. 'OBJECTMODE'
  47. 'GETGEOMETRY'
  48.  
  49. DO j=1 TO nbrspts
  50.  
  51.     num_fpts=numpts.j
  52.     fpts_x=Compress(PNT_X.num_fpts,'0'x)
  53.     fpts_y=Compress(PNT_Y.num_fpts,'0'x)
  54.     fpts_z=Compress(PNT_Z.num_fpts,'0'x)
  55.  
  56.     k=j+1
  57.     IF k>nbrspts THEN k=1
  58.     num_spts=numpts.k
  59.     spts_x=Compress(PNT_X.num_spts,'0'x)
  60.     spts_y=Compress(PNT_Y.num_spts,'0'x)
  61.     spts_z=Compress(PNT_Z.num_spts,'0'x)
  62.  
  63.     vector_x.j=spts_x-fpts_x
  64.     vector_y.j=spts_y-fpts_y
  65.     vector_z.j=spts_z-fpts_z
  66.  
  67.     distance=trunc(sqrt((spts_x-fpts_x)**2+(spts_y-fpts_y)**2+(spts_z-fpts_z)**2),4)
  68.  
  69.     'CALC_VECTORALIGNMENT 'vector_x.j' ' vector_y.j' 'vector_z.j''
  70.  
  71.     'ADDAXIS'
  72.     'PICK'
  73.     'SELECT'
  74.     'GETATTRIBUTES OBJECTNAME'
  75.     ATTRIB.OBJECTNAME='PATH_AXIS.'j
  76.     'SETATTRIBUTES OBJECTNAME'
  77.     'DISPLAYSTOPREDRAW'
  78.     'TRANSFORM_ALIGNMENT 'IMAGINEVEC.0' 'IMAGINEVEC.1' 'IMAGINEVEC.2
  79.     TRANSFORM_POSITION fpts_x fpts_y fpts_z
  80.     'UNPICK'
  81. END
  82.  
  83. 'OBJECTMODE'
  84. 'SELECT HOME'
  85. 'PICK'
  86. 'GETATTRIBUTES OBJECTNAME'
  87. ATTRIB.OBJECTNAME='PATH_AXIS_GABA'
  88. 'SETATTRIBUTES OBJECTNAME'
  89. 'SELECT NEXT'
  90. 'PICK'
  91. 'MULTIPICKON'
  92. DO i=1 TO nbrspts
  93.     'PICK'
  94.     'SELECT NEXT'
  95. END
  96. 'UNPICK SELECT'
  97. type=Request(100,100,'Quel type pour ce path',,'Ouvert','Fermer',psname)
  98. if type='OKAY' then
  99.     'MAKEPATH'
  100. else
  101.     'MAKECLOSEDPATH'
  102. 'GETATTRIBUTES OBJECTNAME'
  103. newname=Request(100,100,'nom pour ce Path','',,,psname)
  104. ATTRIB.OBJECTNAME=newname
  105. 'SETATTRIBUTES OBJECTNAME'd
  106. 'MULTIPICKOFF'
  107. 'DISPLAYREXXPTR OFF'
  108. 'KEY_SPACE'
  109. exit
  110.  
  111.  
  112.  
  113.  
  114.